package com.grp6.game.common;

import java.util.List;

/**
 * Contains methods for IObservers to register themselves to be notified 
 * by IObservables (this class).   
 * @author Group6
 */

public interface IObservable {
	
	/**
	 * Returns a list of IObserver objects
	 * @return List<IObserver> objects
	 */
   List<IObserver> getObservers();
   
   /**
    * Notifies the IObservers whenever 
    */
   void notifyObservers();
   
   /**
    * Adds the observers to the Subject
    * @param List of IObservers
    */
   void addObservers(List<IObserver> observers);
   
   /**
    * Removes the Observers from watching the subject
    * @param List of IObservers
    */
   void removeObserver(List<IObserver> observers);
}
